package com.billlv.codegenerator.service.impl;

import com.billlv.codegenerator.common.utils.RedisUtility;
import com.billlv.codegenerator.service.BlacklistService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;


@Service
public class BlacklistServiceImpl implements BlacklistService {


    @Autowired
    private RedisUtility<String> stringRedisUtility;


    /**
     * 将 Token ID 加入黑名单
     *
     * @param tokenId Token 的唯一标识
     * @param ttl     黑名单的有效时间（秒）
     */
    public void addToBlacklist(String tokenId, long ttl) {
        String key = BLACKLIST_PREFIX + tokenId;
        stringRedisUtility.save(key, "blacklisted", ttl );
    }

    /**
     * 检查 Token ID 是否在黑名单中
     *
     * @param tokenId Token 的唯一标识
     * @return true 如果在黑名单中
     */
    public boolean isBlacklisted(String tokenId) {
        String key = BLACKLIST_PREFIX + tokenId;
        return stringRedisUtility.hasKey(key);
    }
}
